﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace EncuentraWEB
{
    public partial class Formulario_web16 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var sUser = (string)Session["User"];
            if (sUser != "admin")
            {
                Response.Redirect("~\\default.aspx");
                return;
            }
            if (!this.IsPostBack)
            {
                btnImgCancelar.Attributes.Add("onclick", "cancel();");
                var strTipo = Request.QueryString["Id"];
                var strID = Request.QueryString["Id1"];
              
                    var objTipoPuntos = new clsTipoPuntos();
                    var objEmpresas = new clsEmpresas();

                    ddEmpresa.DataTextField = "varDenominacion";
                    ddEmpresa.DataValueField = "intIdEmpresa";
                    var dtTipoPuntos = objTipoPuntos.buscar();
                    var dtEmpresas = objEmpresas.buscar("","");
                    ddEmpresa.DataSource = dtEmpresas;
                    ddEmpresa.DataBind();
                    ddEmpresa.SelectedIndex = ddEmpresa.Items.Count - 1;
                   
                
                //Cargar el combo el ddempresa
                if (strTipo == "I")
                {
                    txtAIdLinea.Text = "";
                    txtDescripcion.Text = "";
                    txtEDenominacion.Text = "";
                    txtKmRecorrido.Text = "";
                   

                    return;
                }
                if (strTipo == "M")
                {
                    int intId = Convert.ToInt32(strID);
                    var context = new EncuentraEntities();
                    var de = from x in context.Lineas

                             where x.intIdLinea == intId
                             select x;
                    foreach (var obj in de)
                    {
                        txtAIdLinea.Text = Convert.ToString(obj.intIdLinea);
                        txtDescripcion.Text = Convert.ToString(obj.varDescripcion);
                        txtEDenominacion.Text = Convert.ToString(obj.varDenominacion);
                        txtKmRecorrido.Text = Convert.ToString(obj.decKMRecorrido);
                        var type = obj.EmpresasReference.CreateSourceQuery();
                        var a1 = 0;
                        foreach(var obj1 in type)
                        {
                            a1 = obj1.intIdEmpresa;
                        }
                        
                        ddEmpresa.SelectedValue = Convert.ToString(a1);
                        //ddempresa
                    }
                    context.Dispose();
                }
            }
        }

        protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            var strTipo = Request.QueryString["Id"];
            var intEmpresa = Convert.ToInt32(ddEmpresa.SelectedValue);
            var context = new EncuentraEntities();
            if (strTipo == "I")
            {
                //ddEmpresa
                var ent = new Lineas
                              {
                                  varDenominacion = txtEDenominacion.Text,
                                  varDescripcion = txtDescripcion.Text,
                                  decKMRecorrido = Convert.ToDecimal(txtKmRecorrido.Text)
                                };
                try
                {

                    var de = from x in context.Lineas
                             select x;
                    var id = de.Max(x => x.intIdLinea);
                    ent.intIdLinea = id + 1;
                }
                catch (Exception)
                {
                    ent.intIdLinea = 1;
                }
                ent.Empresas = context.Empresas.Where(x => x.intIdEmpresa == intEmpresa).First();
                context.AddToLineas(ent);
            }
            if (strTipo == "M")
            {
                var intId = Convert.ToInt32(txtAIdLinea.Text);
                var de = from x in context.Lineas
                         where x.intIdLinea == intId
                         select x;
                
                foreach (Lineas x in de)
                {
                    x.varDenominacion = txtEDenominacion.Text;
                    x.varDescripcion = txtDescripcion.Text;
                    x.decKMRecorrido = Convert.ToDecimal(txtKmRecorrido.Text);
                    x.Empresas =context.Empresas.Where(x1 => x1.intIdEmpresa==intEmpresa).First();
                }
            }
            
            context.SaveChanges();
            context.Dispose();

            Response.Write("<script language=\"JavaScript\">");
            Response.Write("javascript: window.parent.document.getElementById('btnAceptar').click();");
            Response.Write("</script>");
        }

      
    }
}
